package dormouse.vfs;

/**
 * Rootmaps typically contain roots like the user's home directory, the
 * Documents directory, Photos directory, etc. The exact location of these
 * directories differ depending on the operating system in use.
 */
public interface IRootMap {

	/**
	 * This method gets the named root map.
	 * 
	 * @param rootName
	 *            the name of the root.
	 * @return a path corresponding to the root name, or null if the path has
	 *         not been registered.
	 */
	public String getRootPath(RootNames rootName);
	
	/**
	 * This method sets the 
	 * @param rootName
	 * @param path
	 */
	public void setRootPath(RootNames rootName, String path);

	/**
	 * This method determines whether or not the root map is useable with the
	 * current OS. This method is used to select the root map appropriate for a
	 * given operating system.
	 * 
	 * @return true, if the rootmap can be used with the operating system and
	 *         version of the operating system.
	 */
	public boolean isForCurrentOS();

}
